/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package util;



import com.sun.org.apache.xalan.internal.xsltc.runtime.Hashtable;


public class Accion extends Instruccion {

    static Hashtable hashAccion = new Hashtable();

    public Accion(String descripcion) {
        super(descripcion);
        String token = descripcion.toLowerCase().intern();
        hashAccion.put(token, this);

    }
    
   

    public String toString() {

        return "Accion " + descripcion;
    }

    public String getToken() {

        return getDescripcion();
    }

    public TipoToken getTipoToken() {
        return TipoToken.ACCION;
    }
    
   

    static {
        try {			
	    Class.forName("iluscode.Detecta");
	} catch (Exception e) {
	    e.printStackTrace();
	}
        new Accion("avanzar") {

            public boolean ejecutar() {
                //mv.getRobot().avanzar();
                //mv.getCrobot().avanzar();
                return true;
            }
        };
        new Accion("girarnorte") {

            public boolean ejecutar() {
                
                return  true;//falta llamar metodo
            }
        };
        new Accion("girarsur") {

            public boolean ejecutar() {
                return true;
            }
        };
        new Accion("girareste") {

            public boolean ejecutar() {
                
                return true;
            }
        };
        new Accion("giraroeste") {

            public boolean ejecutar() {
                //mv.getRobot().girarOeste();
                //mv.crobot.girarOeste();
                return true;
            }
        };/*
        new Accion("hayobstaculo") {

            public boolean ejecutar() {
                return true;
            }
        };
        new Accion("hayladron") {

            public boolean ejecutar() {
                return true;
            }
        };
        new Accion("hayfuego") {

            public boolean ejecutar() {
                return true;
            }
        };
        new Accion("abrircerramiento") {

            public boolean ejecutar() {
                return true;
            }
        };
        new Accion("cerrarcerramiento") {

            public boolean ejecutar() {
                return true;
            }
        };*/
        new Accion("detener") {

            public boolean ejecutar() {
                //mv.getRobot().detener();
                return true;
            }
        };

    }

    ;
   
   public static Accion buscarAccion(String s) {

        return (Accion) hashAccion.get(s);
    }
}
